#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
using namespace std;

int my_strlen(char* str)
{
	if (*str != '\0')
		return 1 + my_strlen(str + 1);
	else
		return 0;
}

int main()
{
	char arr[] = "abcd";
	cout << arr<<"\n";
	int ret= my_strlen(arr);
	cout << ret;
	return 0;
}


//#include <iostream>
//using namespace std;
//
//void copy(char*, int, int);
//void main(void)
//{
//    int n=10, m;
//    char string[10];
//    scanf("%s", string);
//    scanf("%d", &m);
//    copy(string, n, m);
//}
//void copy(char* str, int n, int m)
//{
//    int i, j;
//    char string[10];
//    char* p = string;
//    i = m - 1;
//    j = 0;
//    str = str + i;               
//    for (; i < n; i++, j++)
//    {
//        *(p + j) = *(str++);
//        printf("%c", *(p + j));
//    }
//}


//#include<iostream>
//using namespace std;
//
//void copy(int* str[], int n, int m)
//{
//	int i, j;
//	char string[100];
//	char* p = string;
//	i = m - 1;
//	j = 0;
//	str = str + 1;
//	for (; i < n; i++, j++)
//	{
//		*(p + j) = *(str++);
//		printf("%c", *(p + j));
//	}
//}
//
//int main( )
//{
//	int n, m;
//	char string[100];
//	cin >> string;
//	n = sizeof(string) / sizeof(string[0]);
//	cin >> m;
//	copy(string, n, m);
//	return 0;
//}
//


//#include<iostream>
//using namespace std;
//
//void input(int* a, int n)
//{
//	int i;
//	for (i = 0; i < 10; i++)
//	{
//		cin >> a[i];
//	}
//	cout << "\n";
//}
//
//void output(int* a, int n)
//{
//	int i;
//	for (i = 0; i < 10; i++)
//	{
//		cout << a[i] << " ";
//	}
//	cout << "\n";
//}
//
//void reverse(int* a, int n)
//{
//	int i, j, temp;
//	for (i = 0, j = n ; i < j; i++, j--)
//	{
//		temp = a[i];
//		a[i] = a[j];
//		a[j] = temp;
//	}
//}
//
//int main()
//{
//	int a[10];
//	int* p = a;
//	int n = sizeof(a) / sizeof(a[0])-1;
//	input(a, n);
//	output(a, n);
//	reverse(a, n);
//	output(a, n);
//	return 0;
//}